'''
    第一个简单的爬取图片的程序，　使用正则表达式　今天图片提取
'''

import urllib.request
import re # 正则表达式
import gzip
from io import BytesIO

def getHtmlCode(url):
    '''该方法传入 url, 返回url的html 的源代码'''
    headers={'User-Agent': "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 "}
    
    urll = urllib.request.Request(url, headers=headers)

    page = urllib.request.urlopen(urll).read()

    # print(page)

    buff = BytesIO(page)
    f = gzip.GzipFile(fileobj=buff)
    
    page = f.read().decode('utf-8')
    # print(page)
    
    return page

def getImg(page):
    '''该方法传入 html 的源代码，　经过截取其中的img 标签，将图片保存到本地'''
    imgList = re.findall(r'(http:[^\s]*?(jpg|png|gif))', page)
    x=0
    
    for imgUrl in imgList:
        try:
            print("正在下载: %s"%imgUrl[0])
            urllib.request.urlretrieve(imgUrl[0], "./tmp/%d.jpg"%x)
            x+=1
        except:
            continue

if __name__ == '__main__':
    
    url = 'https://www.douyu.com/'
    
    page = getHtmlCode(url)
    getImg(page)

    